var public = {
    // 账户下拉
    fn_account: function () {
        $(".name").hover(function () {
            $(this).find("ul").stop(true, true).slideDown(300);
        }, function () {
            $(this).find("ul").stop(true, true).slideUp(300);
        });
    },


    // 窗口tab
    fn_windowTab: function () {
        //点击
        $("ul.window").delegate("li", "click", function (e) {
            var len = $(this).find("i").length;
            if (!len) {
                var i = '<i class="anticon icon-close">';
                $(this).addClass("active").append(i).siblings().removeClass("active").find("i").remove();
            }
        });

        //关闭
        $("body").on("click", "ul.window > li > i", function () {
            var i = '<i class="anticon icon-close">';
            var next = $(this).parent().next().length;
            var prev = $(this).parent().prev().length;
            var index = $(this).parent().index(),
                activeNum = 0;
            //中间 || 第一个
            if (next && (prev || !prev)) {
                $(this).parent().next().addClass("active").append(i);
                $('#tabIframe .tab-content').eq(index + 1).show();
                activeNum = index + 1;
            }
            //最后一个
            else if (!next && prev) {
                $(this).parent().prev().addClass("active").append(i);
                $('#tabIframe .tab-content').eq(index - 1).show();
                activeNum = index - 1;
            }
            //只有一个
            // else if (!next && !prev) {
            //     alert("不能关闭");
            //     return false;
            // }
            layer.close(layer.tips())
            $(this).parent().remove();
            console.log(index);

            $('#tabIframe .tab-content').eq(index).remove();
            unify.fn_tabOverflow(activeNum)
        });
    },
    // 导航tab
    fn_navTab: function () {

        $(document).on('click', '#tabList li', function () {
            // var index = $(this).index();
            // $(this).addClass('active').siblings('li').removeClass('active')
            // $('#tabIframe .tab-content').hide().eq(index).show()

            var menuid = $(this).attr('menuid');
            var index = $(this).index();
            $(this).addClass('active').siblings('li').removeClass('active')
            $('#tabIframe .tab-content').hide()
            $('#tabIframe .tab-content[menuid=' + menuid + ']').show()
        })

        $(document).on('click', '.tab li', function () {
            var index = $(this).index();
            $(this).addClass('active').siblings('li').removeClass('active')
            $(this).parents('.tab').next('.tab-content').find('.tab-content-inner').hide().eq(index).show()

        })
    },


    // 左侧菜单
    fn_sideBar: function () {
        // 展开收起
        $("body").on("click", ".change", function (e) {
            $('.fixed-table-header').hide();
            $('.fixed-table-body>table').css({
                'marginTop': 0
            })
            $('.fixed-table-body thead tr').css('borderBottom', '1px  solid #f4f4f4')
            $('.fixed-table-body').css({
                'marginBottom': 36
            })
            if ($(this).hasClass("icon-menufold")) {
                $(this).removeClass("icon-menufold").addClass("icon-menuunfold");
                $(".leftside").animate({
                    width: 42,
                });

                $(".logo").addClass("minilogo");
                $(".main-menu").addClass("mini-menu");
                $(".main-menu>li>a").addClass("js-sub-menu-toggle-degree1")
                $(".js-sub-menu-toggle.on").next('.sub-menu').hide();




            } else {
                $(this).removeClass("icon-menuunfold").addClass("icon-menufold");
                $(".leftside").animate({
                    width: 200
                });
                //  $('.fixed-table-header>table').animate({
                //     width: wid1,
                // });

                $(".logo").removeClass("minilogo");
                $(".main-menu").removeClass("mini-menu");
                $(".main-menu>li>a").removeClass("js-sub-menu-toggle-degree1")
                $(".js-sub-menu-toggle.on").next('.sub-menu').show();
            }
            public.fn_minuMenu();

        });

        // mini菜单hover状态
        // var timer;
        $("body").on("mouseenter", ".mini-menu li >.sub-menu", function (e) {

            $(this).siblings('.js-sub-menu-toggle').addClass('subactive');
        });

        $("body").on("mouseleave", ".mini-menu li >.sub-menu", function (e) {
            $(this).siblings('.js-sub-menu-toggle').removeClass('subactive');
        });


        // 左侧下拉菜单折叠
        $("body").on("click", ".main-menu .js-sub-menu-toggle:not('.js-sub-menu-toggle-degree1')", function (e) {
            e.preventDefault();
            $(this).toggleClass("on");
            $(this).parent().find('> .sub-menu').stop(true, true).slideToggle(300);
        });

        // 左侧下拉菜单点击状态
        // $("body").on("click", ".main-menu .sub-menu >li", function(e) {
        //     e.preventDefault();
        //     if (!$(this).find(">a").hasClass("js-sub-menu-toggle")) {
        //         $(this).parents('.main-menu').find('a').removeClass('active');
        //         $(this).find('> a').addClass('active');
        //     }
        // });
        $("body").on("click", ".main-menu li a:not(.js-sub-menu-toggle)", function (e) {
            e.preventDefault();

            $(this).parents('.main-menu').find('a').removeClass('active');


            $(this).addClass('active')

        });

    },
    // 控制左侧菜单高度
    fn_sideBarHeight: function () {
        var _height = $(window).height() - 90;
        var _height1 = $(window).height();
        $('.main-menu').css('height', _height)
        $('.leftside-sub').css('height', _height1)
    },
    // 控制mini菜单高度
    fn_minuMenu: function () {

        var _height = $(window).height();
        if ($(".mini-menu").length > 0) {
            $(".mini-menu>li>a").each(function () {
                var top = $(this).offset().top
                var _height1 = _height - top
                $(this).next('.sub-menu').css('maxHeight', _height1)
            })
        } else {
            $(".main-menu>li>.sub-menu").css('maxHeight', 'auto')
        }
    },
    // 窗口改变
    fn_resize: function () {
        $(window).resize(function () {
            public.fn_sideBarHeight();
            public.fn_minuMenu();
        });
    },
    // 下拉菜单
    fn_select: function () {
        //点击下拉展开
        $(document).on("click", ".selectshowAction:not(.disabled)", function (e) {
            e.stopPropagation()
            var _this = $(this).next(".select")[0]
            $('.select').not(_this).slideUp(300)
            $('.selectshowAction').not(this).removeClass("on")
            $(this).toggleClass("on");
            $(this).find('input').focus()
            // if ($(this).parents('.group-selectSearch').length != 0) {

            // }
            // console.log(2);

            //  else {
            $(this).next(".select").stop(true, true).slideToggle(300);
            // }
            return false;
        });
        $(document).on("click", ".group-selectSearch input", function (e) {
            e.stopPropagation()
            var _this = $(this).parents('.selectshowAction').next(".select-search")[0]
            $('.select').not(_this).slideUp(300)
            $('.select').not(_this).siblings(".selectshowAction").removeClass("on")
            $(this).parents('.selectshowAction').next(".select-search").stop(true, true).slideDown(300)
            $(this).parents('.selectshowAction').addClass("on");
        })


        $(document).on("click", "ul.select:not(#setting) li,.select-search ul li", function (e) {
            var text = $(this).text();
            var that = $(this)
            if ($(this).parents('.group-select').length != 0) {
                if ($(this).parents('.select-search').length != 0) {
                    $(this).parents('.group-select').find('.selectshowAction .scm-input').val(text).toggleClass("on");
                    $(this).parents('.select-search').stop(true, true).slideToggle(300);

                } else {
                    $(this).parent().prev(".selectshowAction").find(".scm-input").val(text).toggleClass("on");
                    $(this).parent().stop(true, true).slideToggle(300);

                }
            } else {
                $(".selectshowAction,.selectshowDefault").find("span").removeClass('active')
                $(this).parent().prev(".selectshowAction").find("span").addClass('active').text(text).toggleClass("on");
                $(this).parent().prev(".selectshowAction").find("input").val(text).toggleClass("on");

                $(this).parent().stop(true, true).slideToggle(300);

            }
        });
        $(document).on("click", ".select-search .scm-input-wrap,.icon-closecircle", function (e) {
            e.stopPropagation()
        })

        //点击其他地方消失
        $(document).on("click", function (e) {
            $('ul.select,.select-search').slideUp(300)
            $('.selectshowAction').removeClass("on")
        })

    },

    // input显示删除图标
    fn_inputClose: function () {
        var clear = '<i class="anticon icon-closecircle">';
        $(document).on({
            mouseenter: function () {
                $(this).parents('.group').find(".icon-closecircle").remove()
                var val = $(this).find('input[type=text]').val();
                if (val) {
                    $(this).addClass('iconhide').removeClass('selectshow')
                    $(this).find('input[type=text]').before(clear);
                    $(this).find('.icon-closecircle').show()
                }
            },
            mouseleave: function () {
                $(this).removeClass('iconhide').find('input[type=text]').prev(".icon-closecircle").remove();
                var parent = $(this).parents('.group-select')
                if (parent) {
                    parent.find('.scm-input-wrap').addClass('selectshow')
                }

            },
        }, ".scm-input-wrap")
        $(document).on('mouseenter', '.icon-closecircle', function () {
            $(this).on('click', function () {
                $(this).siblings('input').val('');
                $(this).parents('.scm-input-wrap').removeClass('iconhide')
                var parent = $(this).parents('.group-select')
                var that = $(this)
                $(this).remove()
                if (parent) {
                    parent.find('.scm-input-wrap').addClass('selectshow')
                }
            })
        })
    },

    // table操作按钮下拉
    fn_tableselect: function () {
        $(document).on('click', '.tableselect .icon-down', function (e) {
            e.stopPropagation()
            var _this = $(this).parents('.tableselect')[0]
            var _this1 = $(this).parents('.tableselect').find('.tableselect-bottom')[0]
            $('.tableselect').not(_this).removeClass("active")
            $('.tableselect-bottom').not(_this1).slideUp(300)
            $(this).parents('.tableselect').toggleClass('active')
            $(this).parents('.tableselect').find('.tableselect-bottom').stop(true, true).slideToggle(300)
        })
        //点击其他地方消失
        $(document).on("click", function (e) {
            $('.tableselect-bottom').slideUp(300)
            $('.tableselect').removeClass("active")
        })
    },
    // 选择文件
    fn_selectexcel: function () {
        $('.selectexcle').on('click', 'button', function () {
            $(this).siblings('input[type=file]').click();
        })
        $('.selectexcle').on('change', 'input[type=file]', function () {
            $(this).siblings('span').html(this.files[0].name);
        })
    },

    // 单复选框
    fn_checkbtn: function () {
        $(document).on('click', '.mycheckbox', function () {
            if ($(this).hasClass('active')) {
                $(this).removeClass('active')
            } else {
                $(this).addClass('active')
            }
        })
        $(document).on('click', '.mycheckradio', function () {
            $(this).parents('.mycheckradioall').find('.mycheckradio').removeClass('active')
            $(this).addClass('active');
        })
    },
    // table内下拉框滚动
    fn_tableSelect: function () {
        setTimeout(function () {

            $(document).on('click', '.box-table .fixed-table-body .selectshowAction', function () {
                var top = parseInt($(this).closest('tr').position().top) + 30 + 'px';
                var left = $(this).position().left

                $(this).siblings('.select').css({
                    'top': top,
                    'left': left
                })
            })
            $(".box-table .fixed-table-body").scroll(function () {
                $('.box-table .fixed-table-body .group-select .select').hide();
            })

        }, 1)

    },
    // 设置table高度
    fn_tableHeight: function () {
        var height = $(".form-list:visible").outerHeight(true) + $(".operation:visible").outerHeight(true) + 20

        return height
    },
    // 点击table行添加背景色
    fn_tableTr: function () {
        $(document).on('click', '.box-tableTr .table tbody>tr', function () {
            $(this).toggleClass('active')
            if ($(this).hasClass('active')) {

                $(this).siblings('tr').removeClass('active')
            }
        })
    },


    // 点击左侧菜单radio列表显示修改按钮
    fn_leftsideRadio: function () {
        var str = '<button class="scm-btn blue btn-edit">修改</button>'
        $(document).on('click', '.radio-list:not(.radio-list-notedit) li:not(.read)', function () {
            $(this).parents('.radio-list').find('li').removeClass('active')
                .find('label').removeClass('active')

            $(this).parents('.radio-list').find('.btn-edit').remove()
            $(this).addClass('active')
                .append(str)
                .find('label').addClass('active')
        })
        $(document).on('click', '.radio-list-notedit li:not(.read)', function () {
            $(this).parents('.radio-list').find('li').removeClass('active')
                .find('label').removeClass('active')

            $(this).addClass('active').find('label').addClass('active')
        })
    },
    //table备注
    fn_formatterNote: function (value) {
        return "<div class='note ellipsis'>" + value + "</div>"

    },
    // table增加编辑框
    fn_formatterInput: function (value) {
        return '<input type="text" value="' + value + '" />';
    },
    // 清除字符串前后空格（若第二个参数为'g',包括清除中间空格）
    fn_clearSpace: function (str, is_global) {
        var result;
        result = str.replace(/(^\s+)|(\s+$)/g, "");
        if (is_global && is_global.toLowerCase() == "g") {
            result = result.replace(/\s/g, "");
        }
        return result;
    },
    // input失去焦点保存值
    getData: function (target) {
        var aim = this;
        var odiv = $(aim).closest('table'),
            otr = $(aim).closest('tr'),
            otrindex = $(aim).closest('tr').index(),
            otd = $(aim).closest('td'),
            otdindex = otd.index(),
            oid = otr.data('uniqueid'),
            odata = odiv.bootstrapTable('getRowByUniqueId', oid),
            options = odiv.bootstrapTable('getOptions');
        ofield = options.columns[0][otdindex].field;
        odata[ofield] = otd.find('input').val();
    },
    fn_saveData: function (linkTitle) {
        $(document).on('blur', '.fixed-table-body td input', public.getData);
    },
     // 千位符以及保留小数位
     fn_thousand: function (s, n) {
        var number = s
        var num11;
        s = Math.abs(s)
        n = n >= 0 && n <= 20 ? n : 2;
        s = parseFloat((s + '').replace(/[^\d\.-]/g, '')).toFixed(n) + '';
        var l = s.split('.')[0].split('').reverse(),
            r = s.split('.')[1];
        var t = '';
        var m = r ? '.' + r : "";
        for (var i = 0; i < l.length; i++) {
            t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? ',' : '');
        }
        num11 = t.split('').reverse().join('') + m;
        if (number < 0) {
            return "-" + num11
        } else {
            return num11
        }
    },
    // 合计
    fn_sumformatter: function (data) {
        var field=this.field;
        var total=  data.reduce(function (sum, row) {
            return  sum + (Number(row[field]));
        }, 0).toFixed(3)
        return public.fn_thousand(total,3)
    },
     // 合计宽度控制
     fn_totalWidth: function (value) {
        return "<div class='footerwidth'>" + value + "</div>"
    },


    //汉化
    fn_chinese: function () {

        // 日历汉化
        $.daterangepicker = function (pickerSelect, options) {
            var defualts = {
                singleDatePicker: true, //设置成单日历
                startDate: moment().startOf('day'),
                endDate: moment().startOf('day'),
                defaultValue: false,
                // minDate: '01/01/2012', //最小时间
                // maxDate: moment().subtract(-1, 'days'), //最大时间 今天
                timePicker: false, //是否显示小时和分钟
                timePickerIncrement: 1, //时间的增量，单位为分钟
                timePicker12Hour: false, //是否使用24小时制来显示时间
                "autoApply": false, // 选中后自动关闭控件窗口
                format: "YYYY-MM-DD", // 日期格式
                separator: " ~ ",
                "locale": {
                    daysOfWeek: ["日", "一", "二", "三", "四", "五", "六"],
                    monthNames: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"],
                    applyLabel: '确定',
                    cancelLabel: '清空'
                },
                "applyClass": 'blue',
                "dateLimit": {
                    "days": 2000 // 时间的最大选择范围。
                },

                ranges: {
                    '今日': [moment(), moment()],
                    '昨日': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
                    '最近7日': [moment().subtract(6, 'days'), moment()],
                    // '这周': [moment().startOf('week'), moment().endOf('week')],
                    '最近30日': [moment().subtract(29, 'days'), moment()],
                    '近三个月': [moment().subtract(3, 'month'), moment()],
                    '最近1年': [moment().subtract(365, 'days'), moment()],
                }
            }
            var opts = $.extend({}, defualts, options);
            $(pickerSelect).daterangepicker(opts)
        };
        // 页面缩放关闭日历
        $(window).resize(function () {
            $('.daterangepicker').hide();
        });
    },


    init: function (a) {
        this.fn_account();
        this.fn_sideBar();
        this.fn_windowTab();
        this.fn_navTab();

        this.fn_sideBarHeight();
        this.fn_resize();
        this.fn_select();
        //this.fn_inputClose();
        this.fn_tableselect();
        this.fn_selectexcel();
        this.fn_checkbtn();
        this.fn_tableSelect();
        this.fn_tableHeight();
        this.fn_tableTr();
        this.fn_leftsideRadio();
        this.fn_saveData();
        this.fn_chinese();
    }
}
$(function (a) {
    public.init(a);
})